home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
u_man
/
cat3
/
Tcl
/
history.z
/
history
Wrap
Text File
|
1998-10-30
|
11KB
|
199 lines
hhhhiiiissssttttoooorrrryyyy((((3333TTTTccccllll)))) hhhhiiiissssttttoooorrrryyyy((((3333TTTTccccllll))))
NNNNAAAAMMMMEEEE
history - Manipulate the history list
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
hhhhiiiissssttttoooorrrryyyy ?_o_p_t_i_o_n? ?_a_r_g _a_r_g ...?
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
The hhhhiiiissssttttoooorrrryyyy command performs one of several operations related to
recently-executed commands recorded in a history list. Each of these
recorded commands is referred to as an ``event''. When specifying an
event to the hhhhiiiissssttttoooorrrryyyy command, the following forms may be used:
[1] A number: if positive, it refers to the event with that number (all
events are numbered starting at 1). If the number is negative, it
selects an event relative to the current event (----1111 refers to the
previous event, ----2222 to the one before that, and so on).
[2] A string: selects the most recent event that matches the string.
An event is considered to match the string either if the string is
the same as the first characters of the event, or if the string
matches the event in the sense of the ssssttttrrrriiiinnnngggg mmmmaaaattttcccchhhh command.
The hhhhiiiissssttttoooorrrryyyy command can take any of the following forms:
hhhhiiiissssttttoooorrrryyyy
Same as hhhhiiiissssttttoooorrrryyyy iiiinnnnffffoooo, described below.
hhhhiiiissssttttoooorrrryyyy aaaadddddddd _c_o_m_m_a_n_d ?eeeexxxxeeeecccc?
Adds the _c_o_m_m_a_n_d argument to the history list as a new event. If
eeeexxxxeeeecccc is specified (or abbreviated) then the command is also executed
and its result is returned. If eeeexxxxeeeecccc isn't specified then an empty
string is returned as result.
hhhhiiiissssttttoooorrrryyyy cccchhhhaaaannnnggggeeee _n_e_w_V_a_l_u_e ?_e_v_e_n_t?
Replaces the value recorded for an event with _n_e_w_V_a_l_u_e. _E_v_e_n_t
specifies the event to replace, and defaults to the _c_u_r_r_e_n_t event
(not event ----1111). This command is intended for use in commands that
implement new forms of history substitution and wish to replace the
current event (which invokes the substitution) with the command
created through substitution. The return value is an empty string.
hhhhiiiissssttttoooorrrryyyy eeeevvvveeeennnntttt ?_e_v_e_n_t?
Returns the value of the event given by _e_v_e_n_t. _E_v_e_n_t defaults to
----1111. This command causes history revision to occur: see below for
details.
hhhhiiiissssttttoooorrrryyyy iiiinnnnffffoooo ?_c_o_u_n_t?
Returns a formatted string (intended for humans to read) giving the
event number and contents for each of the events in the history list
except the current event. If _c_o_u_n_t is specified then only the most
recent _c_o_u_n_t events are returned.
PPPPaaaaggggeeee 1111
hhhhiiiissssttttoooorrrryyyy((((3333TTTTccccllll)))) hhhhiiiissssttttoooorrrryyyy((((3333TTTTccccllll))))
hhhhiiiissssttttoooorrrryyyy kkkkeeeeeeeepppp _c_o_u_n_t
This command may be used to change the size of the history list to
_c_o_u_n_t events. Initially, 20 events are retained in the history
list. This command returns an empty string.
hhhhiiiissssttttoooorrrryyyy nnnneeeexxxxttttiiiidddd
Returns the number of the next event to be recorded in the history
list. It is useful for things like printing the event number in
command-line prompts.
hhhhiiiissssttttoooorrrryyyy rrrreeeeddddoooo ?_e_v_e_n_t?
Re-executes the command indicated by _e_v_e_n_t and return its result.
_E_v_e_n_t defaults to ----1111. This command results in history revision:
see below for details.
hhhhiiiissssttttoooorrrryyyy ssssuuuubbbbssssttttiiiittttuuuutttteeee _o_l_d _n_e_w ?_e_v_e_n_t?
Retrieves the command given by _e_v_e_n_t (----1111 by default), replace any
occurrences of _o_l_d by _n_e_w in the command (only simple character
equality is supported; no wild cards), execute the resulting
command, and return the result of that execution. This command
results in history revision: see below for details.
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss _s_e_l_e_c_t_o_r ?_e_v_e_n_t?
Retrieves from the command given by _e_v_e_n_t (----1111 by default) the words
given by _s_e_l_e_c_t_o_r, and return those words in a string separated by
spaces. The sssseeeelllleeeeccccttttoooorrrr argument has three forms. If it is a single
number then it selects the word given by that number (0000 for the
command name, 1111 for its first argument, and so on). If it consists
of two numbers separated by a dash, then it selects all the
arguments between those two. Otherwise sssseeeelllleeeeccccttttoooorrrr is treated as a
pattern; all words matching that pattern (in the sense of ssssttttrrrriiiinnnngggg
mmmmaaaattttcccchhhh) are returned. In the numeric forms $$$$ may be used to select
the last word of a command. For example, suppose the most recent
command in the history list is
ffffoooorrrrmmmmaaaatttt {{{{%%%%ssss iiiissss %%%%dddd yyyyeeeeaaaarrrrssss oooolllldddd}}}} AAAAlllliiiicccceeee [[[[eeeexxxxpppprrrr $$$$aaaaggggeeeeIIIInnnnMMMMoooonnnntttthhhhssss////11112222]]]]
Below are some history commands and the results they would produce:
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss $$$$ [[[[eeeexxxxpppprrrr $$$$aaaaggggeeeeIIIInnnnMMMMoooonnnntttthhhhssss////11112222]]]]
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss 1111----2222{{{{%%%%ssss iiiissss %%%%dddd yyyyeeeeaaaarrrrssss oooolllldddd}}}} AAAAlllliiiicccceeee
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss ****aaaa****oooo****{{{{%%%%ssss iiiissss %%%%dddd yyyyeeeeaaaarrrrssss oooolllldddd}}}} [[[[eeeexxxxpppprrrr $$$$aaaaggggeeeeIIIInnnnMMMMoooonnnntttthhhhssss////11112222]]]]
HHHHiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss results in history revision: see below for details.
HHHHIIIISSSSTTTTOOOORRRRYYYY RRRREEEEVVVVIIIISSSSIIIIOOOONNNN
The history options eeeevvvveeeennnntttt, rrrreeeeddddoooo, ssssuuuubbbbssssttttiiiittttuuuutttteeee, and wwwwoooorrrrddddssss result in
``history revision''. When one of these options is invoked then the
current event is modified to eliminate the history command and replace it
with the result of the history command. For example, suppose that the
most recent command in the history list is
PPPPaaaaggggeeee 2222
hhhhiiiissssttttoooorrrryyyy((((3333TTTTccccllll)))) hhhhiiiissssttttoooorrrryyyy((((3333TTTTccccllll))))
sssseeeetttt aaaa [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
and suppose that the next command invoked is one of the ones on the left
side of the table below. The command actually recorded in the history
event will be the corresponding one on the right side of the table.
hhhhiiiissssttttoooorrrryyyy rrrreeeeddddoooo sssseeeetttt aaaa [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
hhhhiiiissssttttoooorrrryyyy ssss aaaa bbbb sssseeeetttt bbbb [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
sssseeeetttt cccc [[[[hhhhiiiissssttttoooorrrryyyy wwww 2222]]]]sssseeeetttt cccc [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
History revision is needed because event specifiers like ----1111 are only
valid at a particular time: once more events have been added to the
history list a different event specifier would be needed. History
revision occurs even when hhhhiiiissssttttoooorrrryyyy is invoked indirectly from the current
event (e.g. a user types a command that invokes a Tcl procedure that
invokes hhhhiiiissssttttoooorrrryyyy): the top-level command whose execution eventually
resulted in a hhhhiiiissssttttoooorrrryyyy command is replaced. If you wish to invoke
commands like hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss without history revision, you can use hhhhiiiissssttttoooorrrryyyy
eeeevvvveeeennnntttt to save the current history event and then use hhhhiiiissssttttoooorrrryyyy cccchhhhaaaannnnggggeeee to
restore it later.
KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
event, history, record, revision
PPPPaaaaggggeeee 3333